import tkinter as tk
from tkinter import ttk

root = tk.Tk()
# 前后500指的是窗口的长宽，后两位是左上角开始的xy定位窗口显示
root.geometry("500x500+500+500")
root.title("hypermesh")

s1 = tk.Label(root,text="hello world!",font=("Airal",12,"bold"))
s1.pack(pady=10)

def getsm():
    contant = s3.get("1.0","end-1c") #去掉末尾自动\n
    print(repr(contant))

# 这里的bd意思为boder的缩写
s2 = tk.Button(root,text="sure",bg="white",font="Airal",bd=1,command=getsm)
s2.pack(pady=10)

# 输入文本框
s3 = tk.Text(root,height=3,width=5,padx=5,pady=5)
s3.pack(fill="both")
# 填入初始字,这里的1.0指的是文本的第一行和第一列，或者可以填入"end"，指的是在最后开始填入
s3.insert("1.0","hello text\n第二行\n")

#加入滚动条
scr = ttk.Scrollbar(root,orient="vertical")
s3.configure(yscrollcommand=scr.set)
scr.config(command=s3.yview)
scr.pack(side="right",fill="y")
s3.pack(side="left",fill="both",expand="True")

# 主题样式
s3.configure(bg="#252525",fg="#dcdcdc",insertbackground="yellow") #背景颜色，文本颜色，光标颜色

root.mainloop()
#————————————————————————————————————————————————————————————————————

import tkinter as tk
# ttk 指的布局
from tkinter import ttk
from tkinter import messagebox

root = tk.Tk()
root.geometry("500x250+250+250")
root.title("abaqus")


# side fill expand padx/pady ipadx/ipady
# padx指的是外间距，与父容器之间的留白像素空间
# padx(x,y) 左右留白
# pady(x,y)上下留白，类似css margin(10px,20px),先左右后上下
# ipadx指的内边距，如按钮内边距留白

frm = ttk.Frame(root)

# 布局盒子类型pack、grid、place三种形式
frm.pack(padx=10,pady=10,fill="both")

# 标签内容
ttk.Label(frm,text="输入宽度width：").grid(row=0,column=0,sticky="w") # sticky的东西南北（nswe）对应上下左右，这里左对齐
ttk.Label(frm,text="输入高度height：").grid(row=1,column=0,sticky="w")

# 输入框
ttk.Entry(frm).grid(row=0,column=1,padx=6,pady=6,sticky="ew") # sticky的东西南北（nswe）对应上下左右，这里左右对齐，左右顶满
ttk.Entry(frm).grid(row=1,column=1,padx=6,pady=6,sticky="nswe") # 上下左右拉满
# 密码框show方法
ttk.Entry(frm,show="*").grid(row=1,column=2,padx=6,pady=6,sticky="ew")

def getdate():
    mydata = 16
    return mydata
# 按钮 command接收函数
ttk.Button(frm,text="sure",command=getdate).grid(row=1,column=3,padx=6,pady=6)

# 下拉框组合件
ttk.Label(frm,text="下拉框：").grid(row=2,column=0,sticky="w")
cb = ttk.Combobox(frm,values=["星期一","星期二","星期三","星期四"],state="readonly")
cb.current(0)
cb.grid(row=2,column=1,pady=6,sticky="ew")

# 可拉伸
frm.columnconfigure(1,weight=1)
root.columnconfigure(0,weight=1)
root.rowconfigure(0,weight=1)


root.mainloop()